/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.orcamento.enumerator;

import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumTipoItemOrcamento {

    public enum TipoItemOrcamento {

        INSUMO,
        COMPOSICAO,
        NAOENCONTRADO
    }

    public static TipoItemOrcamento ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 1:
                return TipoItemOrcamento.INSUMO;
            case 2:
                return TipoItemOrcamento.COMPOSICAO;
            default:
                return TipoItemOrcamento.NAOENCONTRADO;
        }
    }

    public static int ConverterEnumNumero(TipoItemOrcamento tipoInsumo) {
        switch (tipoInsumo) {
            case INSUMO:
                return 1;
            case COMPOSICAO:
                return 2;
            default:
                return 0;
        }
    }

    public static String ConvertEnumString(TipoItemOrcamento tipoInsumo) {
        switch (tipoInsumo) {
            case INSUMO:
                return "INSUMO";
            case COMPOSICAO:
                return "COMPOSICAO";
            default:
                return "NÃO ENCONTRADO";
        }
    }

    public static TipoItemOrcamento ConvertStringEnum(String unidade) {
        if (unidade.equalsIgnoreCase(EnumTipoItemOrcamento.ConvertEnumString(TipoItemOrcamento.INSUMO))) {
            return TipoItemOrcamento.INSUMO;
        } else if (unidade.equalsIgnoreCase(EnumTipoItemOrcamento.ConvertEnumString(TipoItemOrcamento.COMPOSICAO))) {
            return TipoItemOrcamento.COMPOSICAO;
        } else {
            return TipoItemOrcamento.NAOENCONTRADO;
        }
    }

    public static LinkedList<TipoItemOrcamento> ListaTipos() {
        LinkedList<TipoItemOrcamento> listaUnidades = new LinkedList<TipoItemOrcamento>();
        listaUnidades.add(TipoItemOrcamento.INSUMO);
        listaUnidades.add(TipoItemOrcamento.COMPOSICAO);
        
        return listaUnidades;
    }
    
    public static LinkedList<String> ListaStringTipos() {
        LinkedList<String> listaUnidades = new LinkedList<String>();
        listaUnidades.add(EnumTipoItemOrcamento.ConvertEnumString(TipoItemOrcamento.INSUMO));
        listaUnidades.add(EnumTipoItemOrcamento.ConvertEnumString(TipoItemOrcamento.COMPOSICAO));
        
        return listaUnidades;
    }   
}
